---
title: ABSD（基于架构的软件开发）
description: ABSD 的基本思想、流程与实践
date: 2025-06-01
sidebar_position: 5
---

## 概述

还有基于服务的软件开发、基于对象的软件开发、基于构件的软件开发。RUP（统一过程） 是用例驱动。

ABSD 方法是<RedSpan>架构驱动</RedSpan>，强调由<RedSpan>业务、质量和功能需求的</RedSpan>的组合驱动架构设计。它强调采用 <RedSpan>视角和视图来描述软件架构，</RedSpan>采用 <RedSpan>用例和质量属性场景来描述需求</RedSpan>。

进一步来说，用例描述的是功能需求，质量属性场景描述的是质量需求（或侧重于非功能需求）。

使用 ABSD 方法，<RedSpan>设计活动可以从项目总体功能框架明确就开始</RedSpan>，这意味着需求获取和分析还没有完成，就开始了软件设计。

ABSD 方法有三个基础。<RedSpan>第一个基础是功能的分解，</RedSpan>使用已有的基于模块的内聚和耦合技术；<RedSpan>第二个基础是通过选择架构风格来实现质量属性和业务需求；第三个基础是软件模板的使用</RedSpan>，软件模板利用率一些软件系统的结构。


ABSD 方法是 <RedSpan>递归的</RedSpan>，且迭代的每一个步骤都是清晰定义的。因此，不管设计是否完成，架构总是清晰的，有助于降低架构设计的随机性。


## 基于架构的软件开发过程
![](https://wkq-img.oss-cn-chengdu.aliyuncs.com/20250525185541.png)

:::tip
体系结构就是架构，都是由同一个英语单词翻译而来的。
:::
1.  架构需求： 重在<RedSpan>掌握标识构件的三步</RedSpan>，如下左图。
2. 架构设计： <RedSpan>将需求阶段的构件映射为组件</RedSpan>，进行分析，如下右图。
3. 架构文档化： 主要产出两种文档，即<RedSpan>架构（体系结构）规格说明，测试架构（提体系结构）需求的质量设计说明书</RedSpan>
4. 架构复审：<RedSpan>由外部人员（独立于开发组织之外的人，如用户代表和领域专家等）参加的复审</RedSpan>，复审架构是否满足需求，质量问题，构件划分合理性等。若复审不过，则返回架构设计阶段进行重新设计、文档化、再复审。
5. 架构实现：<RedSpan>用实体来显示出架构。实现构件，构件组装成系统</RedSpan>。
6. 架构演化： <RedSpan>对架构进行改变，按需求增删构件，使架构可复用。</RedSpan>
![](https://wkq-img.oss-cn-chengdu.aliyuncs.com/20250525190126.png)
![](https://wkq-img.oss-cn-chengdu.aliyuncs.com/20250525203147.png)


